class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int dest=-1,cur=0;
        
        while(cur<nums.size())
        {
            if(nums[cur]==0)
            {
                cur++;
            }
            else
            {
                swap(nums[dest+1],nums[cur]);
                cur++;
                dest++;
            }
        } 
    }
};
//class Solution {
//public:
//    void moveZeroes(vector<int>& nums) {
//        for(int dest=-1,cur=0;cur<nums.size();cur++)
//        {
//            if(nums[cur])
//            {
//                swap(nums[++dest],nums[cur]);
//            }
//        }
//    }
//};
